package chapter02;

public class java04_Operator {
    public static void main(String[] args) {

        // TODO 运算符
        // 所谓的运算符就是参与数据运算的符号

        // TODO 表达式
        // 所谓的表达式就是采用运算符和数据连接在一起形成符合Java语法规则的指令代码

        // TODO 算数运算符
        // 1. 二元运算符 : 两个元素参与运算的运算符
        // TODO 算数表达式 = 元素1 二元运算符 元素2
        // 这个表达式是有结果的, 就需要有类型, 这里的类型是元素种类类型最大的那一种
//        System.out.println(1 + 2); // 3
//        System.out.println(2 - 1); // 1
//        System.out.println(2 * 2); // 4
//        System.out.println(4 / 2); // 2
//        System.out.println(1 / 2); // 0.5 (int, int)=>int
//        System.out.println(1.0 / 2); // 0.5 (double, int)=>double
//        System.out.println(5 % 2); // 1(取余)

        // 最小使用的类型为int类型
//        byte b1 = 10;
//        byte b2 = 20;
//        byte b3 = (byte)(b1 + b2);
//        System.out.println(b3);

//        System.out.println(1 + 2 * 3); //7
//        System.out.println((1 + 2) * 3); //9

        // 2. 一元运算符 : 一个元素参与运算的运算符
        // ++, --
        // ++ 运算符的本质其实就是+1操作的简化版本, 自增运算符
        // -- 运算符的本质其实就是-1操作的简化版本, 自减运算符
//        int i = 0;
//        int j = i; // j = 0
//        i = i + 1; // i = 1
//        int j = i++;
//        System.out.println("i = " + i);
//        System.out.println("j = " + j);

//        int i = 0;
//        i = i + 1; // i = 1
//        int j = i; // j = 1
//
//        int j = ++i;
//        System.out.println("i = " + i);
//        System.out.println("j = " + j);

        int i = 2;
//        i = i - 1; // i = 1
//        int j = i; // j = 1

        int j = --i;
        System.out.println("i = " + i);
        System.out.println("j = " + j);

    }
}
